// shared_data_manager.hpp
#ifndef SHARED_DATA_MANAGER_HPP
#define SHARED_DATA_MANAGER_HPP

#include <memory>

class SharedDataManager {
public:
    // 静态方法，返回共享对象的引用
    static std::shared_ptr<int>& get_shared_data() {
        // 静态局部变量，用于存储共享的 std::shared_ptr<int>
        static std::shared_ptr<int> shared_data = std::make_shared<int>(10);
        return shared_data;
    }

private:
    // 禁止构造函数和析构函数，防止创建实例
    SharedDataManager() = default;
    ~SharedDataManager() = default;

    // 禁止拷贝构造和赋值操作
    SharedDataManager(const SharedDataManager&) = delete;
    SharedDataManager& operator=(const SharedDataManager&) = delete;
};

#endif // SHARED_DATA_MANAGER_HPP
